语法错误,意外 keyword_do_block,预期 keyword_end ...关闭
syntax error, unexpected keyword_do_block, expecting keyword_end ...off
我正在尝试开发具有一些日期形式的 redmine 插件。
当我尝试配置路由设置时,rails 向我显示此错误。我无法修复它。问题出在哪里?
我收到这个错误:
/days/new.html.erb:20: syntax error, unexpected tLABEL, expecting keyword_end ...ppend= form_for(@daysoff) url: {action: "create"} do |f| @o... ... ^ /var/www/redmine/plugins/days_off_redmine/app/views/days/new.html.erb:20: syntax error, unexpected keyword_do_block, expecting keyword_end ...off) url: {action: "create"} do |f| @output_buffer.safe_appe... ... ^ /var/www/redmine/plugins/days_off_redmine/app/views/days/new.html.erb:44: syntax error, unexpected keyword_ensure, expecting end-of-input
config/routes.rb
get 'days_off_redmine', :to => 'days#index'
get 'days_off_redmine/new', :to => 'days#new'
post 'days_off_redmine', :to => 'days#create'
model/daysoff.rb
class Daysoff < ActiveRecord::Base
unloadable
end
days_controller.rb
class DaysController < ApplicationController
unloadable
def index
end
def new
@people = User.all
@user = User.current
@daysoff = Daysoff.new
end
def create
end
end
days/index.html.erb
<%= link_to 'New', days_off_redmine_new_path %>
days/new.html.erb
<%= form_for(@daysoff) url: {action: "create"} do |f| %>
<%= f.date_field :date, id: 'altField' %>
<%= f.select_field "user", options_from_collection_for_select(@people, "id", "name"), prompt: "Select user" %>
<%= f.submit "Submit" %>
<% end %>
附加问题:其实我不需要额外的页面,post我的表格在index controller中如何?
将您的表单更改为:
<%= form_for @daysoff do |f| %>
<%= f.date_field :date, id: 'altField' %>
<%= f.select_field "user", options_from_collection_for_select(@people, "id", "name"), prompt: "Select user" %>
<%= f.submit "Submit" %>
<% end %>
Actually I don't need extra page, how can post my form in the index controller?
只需在索引操作中实例化@daysoff 和@people 变量即可。
def index
@people = User.all
@user = User.current
@daysoff = Daysoff.new
end
你想,
喜欢:
<%= form_for @daysoff, url: {action: "create"} do |f| %>
<%= form_for(@daysoff) url: {action: "create"} do |f| %>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
this should be arguments to the form_for method
...但是你关闭了括号所以出现语法错误,它应该是:
<%= form_for(@daysoff, url: {action: "create"}) do |f| %>
...或者更通俗地说,只是:
<%= form_for @daysoff, url: {action: "create"} do |f| %>
我正在尝试开发具有一些日期形式的 redmine 插件。 当我尝试配置路由设置时,rails 向我显示此错误。我无法修复它。问题出在哪里?
我收到这个错误:
/days/new.html.erb:20: syntax error, unexpected tLABEL, expecting keyword_end ...ppend= form_for(@daysoff) url: {action: "create"} do |f| @o... ... ^ /var/www/redmine/plugins/days_off_redmine/app/views/days/new.html.erb:20: syntax error, unexpected keyword_do_block, expecting keyword_end ...off) url: {action: "create"} do |f| @output_buffer.safe_appe... ... ^ /var/www/redmine/plugins/days_off_redmine/app/views/days/new.html.erb:44: syntax error, unexpected keyword_ensure, expecting end-of-input
config/routes.rb
get 'days_off_redmine', :to => 'days#index'
get 'days_off_redmine/new', :to => 'days#new'
post 'days_off_redmine', :to => 'days#create'
model/daysoff.rb
class Daysoff < ActiveRecord::Base
unloadable
end
days_controller.rb
class DaysController < ApplicationController
unloadable
def index
end
def new
@people = User.all
@user = User.current
@daysoff = Daysoff.new
end
def create
end
end
days/index.html.erb
<%= link_to 'New', days_off_redmine_new_path %>
days/new.html.erb
<%= form_for(@daysoff) url: {action: "create"} do |f| %>
<%= f.date_field :date, id: 'altField' %>
<%= f.select_field "user", options_from_collection_for_select(@people, "id", "name"), prompt: "Select user" %>
<%= f.submit "Submit" %>
<% end %>
附加问题:其实我不需要额外的页面,post我的表格在index controller中如何?
将您的表单更改为:
<%= form_for @daysoff do |f| %>
<%= f.date_field :date, id: 'altField' %>
<%= f.select_field "user", options_from_collection_for_select(@people, "id", "name"), prompt: "Select user" %>
<%= f.submit "Submit" %>
<% end %>
Actually I don't need extra page, how can post my form in the index controller?
只需在索引操作中实例化@daysoff 和@people 变量即可。
def index
@people = User.all
@user = User.current
@daysoff = Daysoff.new
end
你想,
喜欢:
<%= form_for @daysoff, url: {action: "create"} do |f| %>
<%= form_for(@daysoff) url: {action: "create"} do |f| %>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
this should be arguments to the form_for method
...但是你关闭了括号所以出现语法错误,它应该是:
<%= form_for(@daysoff, url: {action: "create"}) do |f| %>
...或者更通俗地说,只是:
<%= form_for @daysoff, url: {action: "create"} do |f| %>