0
Rails 3.1。我有以下幾點:擺脫形式,只用按鈕創建新記錄
// _form.html.erb
<%= form_for ([@country, @state], :remote => true) do |td| %>
<div id= "state_errors" style="display:none"></div>
<%= td.text_field :position, :id => "next_state" %>
<div class="actions">
<%= td.submit %>
</div>
<% end %>
// global.js
function nextState() {
Array.max = function(array) {
return Math.max.apply(Math, array);
};
var getLastState = $("input.sortable_state_item_position").map(function() {
return $(this).val();
}).get();
getLastState.push("0");
return Array.max(getLastState) + 1;
}
$("input#next_state").val(nextState());
// states_controller.rb
class StatesController < ApplicationController
before_filter :load
def load
@country = Country.find(params[:country_id])
@states = State.all
end
def create
@state = @country.states.build(params[:state])
@state.save
end
...
end
你會發現,我創建了一個form
標籤用戶點擊提交按鈕時創建一個記錄。但我不知道我是否可以擺脫整個form_for
,只是使用正常的a
或button
來觸發create
,因爲我有點兒覺得整個表格是多餘的,因爲用戶不需要輸入任何東西。我的JavaScript自動輸入值。
請指教。非常感謝。