Hallo nochmal,
ich schaff es einfach nicht in einer select-Liste innerhalb einer Tabelle innerhalb einer ng-repeat directive die verschachtelte resource als voreinstellung in der drop-down liste einzutragen. Auswählen und speichern funktioniert, abe ich möchte bei vorhandenen Werten schon gerne den Wert als selektiert drin stehen haben.
Hier das template
Und hier der Controller
Und hier noch die Services
Und zum beseren Verständnis noch ein bischen Ruby
Das sollte doch eigentliuch kein Problem darstellen. Ist ja etwas selbstverständliches (dachte ich)
Danke für jede Hilfe
David
ich schaff es einfach nicht in einer select-Liste innerhalb einer Tabelle innerhalb einer ng-repeat directive die verschachtelte resource als voreinstellung in der drop-down liste einzutragen. Auswählen und speichern funktioniert, abe ich möchte bei vorhandenen Werten schon gerne den Wert als selektiert drin stehen haben.
Hier das template
HTML:
<tr ng-repeat="ticket in tickets">
<td>
<button class="btn btn-default" ng-click="update(ticket)" ><span class="glyphicon glyphicon-floppy-save"></span>Save</button>
<button class="btn btn-default" confirm-message="Are you sure?" confirm-click="delete(ticket)" ><span class="glyphicon glyphicon-remove"></span>Delete</button>
<button class="btn btn-default" ng-click="edit(ticket)" ><span class="glyphicon glyphicon-edit"></span>Edit</button>
</td>
<td>{{ticket.referenceNo}}</td>
<td>
<select class="form-control" ng-model="ticket.user" ng-options="user.username for user in users">
</select>
</td>
<td>{{ticket.customerName}} [<a ng-href="mailto:{{ticket.customerEmail}}" target="_blank">{{ticket.customerEmail}}</a>]</td>
<td>{{ticket.subject}}</td>
<td>{{ticket.message}}</td>
<td><select class="form-control" ng-model="ticket.status" ng-options="status for (status,id) in statuses"></td>
</tr>
Und hier der Controller
HTML:
angular.module('OnApp').controller("TicketCtrl", [ '$scope', '$location', '$window', 'Ticket', 'User', 'StatusList', 'ngDialog', ($scope, $location, $window, Ticket, User, StatusList, ngDialog)->
$scope.message=""
$scope.current_ticket=$window.current_ticket
$scope.tickets=[]
$scope.users=[]
$scope.statuses=[]
$scope.action=$window.ticket_action
console.log($window.current_ticket)
console.log($scope.current_ticket)
Ticket.query().then (tickets) ->
$scope.tickets = tickets
User.query().then (users) ->
$scope.users = users
StatusList.query().then (statuses) ->
$scope.statuses = statuses
$scope.create = (current_ticket) ->
result = new Ticket(current_ticket).create()
console.log(result)
if result?
$scope.message="Ticket created successfull. An confirmation email was send to your email address."
$scope.current_ticket=null
else
console.log("Error during ticket creation!")
$scope.message="Ticket creation failed! Try again."
$scope.current_ticket=null
$scope.delete = (current_ticket) -> current_ticket.delete().then (result) ->
if result
$scope.tickets.splice $scope.tickets.indexOf(current_ticket), 1
ngDialog.open({
template: 'dialogs/error.html',
scope: $scope,
className: 'ngdialog-theme-default',
})
$scope.update = (current_ticket) -> current_ticket.update().then (result) ->
if result
$scope.message="Ticket Updated."
$scope.edit = (current_ticket) ->
$location.path('/tickets/'+current_ticket.id)
$window.current_ticket=current_ticket
$window.ticket_action="edit"
])
Und hier noch die Services
HTML:
angular.module('OnApp').factory('Ticket', ['railsResourceFactory', 'railsSerializer', 'User', (railsResourceFactory, railsSerializer, User) ->
resource = railsResourceFactory
url: '/api/tickets',
name: 'ticket',
serializer: railsSerializer ->
@resource 'user', 'User'
resource::user = -> User.get @userId
return resource
])
angular.module('OnApp').factory('User', ['railsResourceFactory', (railsResourceFactory) ->
return railsResourceFactory
url: '/api/users',
name: 'user'
])
Und zum beseren Verständnis noch ein bischen Ruby
Code:
create_table "tickets", force: true do |t|
t.string "status"
t.text "message"
t.string "subject"
t.integer "user_id"
t.string "customer_name"
t.string "customer_email"
t.string "reference_no"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "users", force: true do |t|
t.string "username"
t.string "password"
t.datetime "created_at"
t.datetime "updated_at"
end
Das sollte doch eigentliuch kein Problem darstellen. Ist ja etwas selbstverständliches (dachte ich)
Danke für jede Hilfe
David
Zuletzt bearbeitet von einem Moderator: