2016-02-11 35 views
0

我正在试图用react-rails创建表单。但是我收到一个错误:SyntaxError:[stdin]:24:11:意外。 React-Rails

SyntaxError: [stdin]:24:11: unexpected .

通过试用,我发现,这个问题是在第一React.DOM.div线(它的标记代码),但我不明白,为什么它发生了,我检查一切一百倍:)

组件/ country_form.coffee

@CountryForm = React.createClass 
    getInitialState: -> 
     name: '' 

    valid: -> 
     @state.name 

    handleChange: (e) -> 
     name = e.target.name 
     @setState "#{name}": e.target.value 

    handleSubmit: (e) -> 
     e.preventDefault() 
     $.post '', { country: @state }, (data) => 
      @props.handleNewCountry data 
      @setState @getInitialState() 
     , 'JSON' 

    render: -> 
     React.DOM.form 
      onSubmit: @handleSubmit 
      React.DOM.div # Problem is here 
       className: 'form-group' 
        React.DOM.label 
         'Name' 
        React.DOM.input 
         type: 'text' 
         className: 'form-control' 
         name: 'name' 
         value: @state.name 
         onChange: @handleChange 
      React.DOM.div 
       className: 'form-group' 
        React.DOM.button 
         type: 'submit' 
         className: 'btn btn-primary' 
         disabled: [email protected]() 
         'Save' 

感谢您的帮助!

回答

0

我发现这个问题。 RubyMine(我也认为IntelliJ IDEA)使用空格缩进CoffeeScript文件。只需将缩进更改为制表符,并且错误将消失。

IntelliJ IDEA settings (CoffeeScript indentions)

1

我认为它应该再次缩进。

现在,它甚至与onSubmitprop

React.DOM.form 
     onSubmit: @handleSubmit 
     React.DOM.div # Problem is here 
      className: 'form-group' 

,但也许应该再一次增加:

React.DOM.form 
     onSubmit: @handleSubmit 
     # -> 
      React.DOM.div # Problem is here 
       className: 'form-group' 
+0

不,不起作用。问题是缩进,我添加了答案。 –